<?php
// 应用公共文件


if (!function_exists('generateTreeOption')) {

    function generateTreeOption($arr = array(), $field = 'name', $root = 0, $index = 0)
    {
        $tree = array();
        foreach ($arr as $k => $value) {
            if ($value['parent_id'] == $root) {
                $value[$field] = str_repeat('|--', $index) . $value[$field];
                $tree[] = $value;
                $tree = array_merge($tree, generateTreeOption($arr, $field, $value['id'], $index + 1));
            }
        }
        return $tree;
    }
}

if (!function_exists('generateTree')) {

    function generateTree($array)
    {
        //第一步 构造数据
        $items = array();
        foreach ($array as $value) {
            $items[$value['id']] = $value;
        }

        //第二步 遍历数据 生成树状结构
        $tree = array();
        foreach ($items as $key => $item) {

            //若不是顶级分类，则将其本身作为son放置在父类中，
            //注意：此时放置的是引用，
            //也就是说，当儿子再次出现儿子的时候，儿子与孙子重新组合成父亲与儿子的形象
            //但是，在顶级父类中存放的是儿子的引用，所以，当儿子与孙子被重新组合时，顶级父类中也被修改
            if (isset($items[$item['parent_id']])) {
                $items[$item['parent_id']]['children'][] = &$items[$key];
            } else {
                $tree[] = &$items[$key];
            }
        }
        return $tree;
    }
}


if (!function_exists('getRandStr')) {

    //随机字符串
    function getRandStr($len)
    {
        $str = "1234567890asdfghjklqwertyuiopzxcvbnmASDFGHJKLZXCVBNMPOIUYTREWQ";
        return substr(str_shuffle($str), 0, $len);
    }

}

    //时间计算(距离现在多长时间)
     function format_date($time){
        $t=time()-$time;
        $f=array(
            '31536000'=>'年',
            '2592000'=>'个月',
            '604800'=>'星期',
            '86400'=>'天',
            '3600'=>'小时',
            '60'=>'分钟',
            '1'=>'秒'
        );
        foreach ($f as $k=>$v)    {
            if (0 !=$c=floor($t/(int)$k)) {
                // return $c.$v.'前';
                return $c.$v;
            }
        }
        return $f;
    }








